Typical vision-based navigation systems identify simple uniquely identifiable objects (commonly referred to as features) in a 2D image (typically an intensity image). These features and their position within the image are used for further processing, such as more complex object detection or motion estimation. In most cases, such features identified are point features. Point features are uniquely identifiable points present in a scene. One example of a point feature is a vertex of a cube. The features identified within an image may be used to estimate motion. To estimate motion from the identified features, the features from one image are matched (e.g., by correlation) to features in another image of the same scene. The difference in location of the features between the images is used to determine the motion between the images.
Point feature based approaches work well for some images. For example, point feature based approaches are a commonly used when dealing with standard intensity images and infrared images. Point feature based approaches, however, do not perform as well with images containing 3D data.
For example, one apparatus used to capture images containing 3D data is a Light Detection and Ranging (LiDAR) sensor. LiDAR sensors obtain a two-dimensional (2D) range grid for a scene by obtaining range information at each point of a 2D grid. The range information within the range grid can then be used to generate three-dimensional (3D) coordinates for each obtained point (sample) of the range grid.
There have been attempts to apply 2D point feature detectors used with 2D intensity images to LiDAR images. For example, the detector portion of Scale-invariant Feature Transform (SIFT), the detector portion of Speeded Up Robust Features (SURF), and the Harris Corner Detector have all been attempted to be applied on LiDAR images. Also, attempts have been made to identify features based on a set of 3D coordinates. For example, a vertex of a table may be identified as a point feature by detecting a change in gradient in the vertical and horizontal direction from a point on the range grid. Point features, however, can be difficult to analyze from LiDAR images and sets of 3D coordinates. The 2D range grids typically have insufficiently few identifiable point features to reliably estimate the motion. Moreover, many of the point features are unstable due to surface discontinuity generated by occluding objects.